$(document).ready(function(){
//	aluno = null;
//	alunoTurma = null;
//	var hlr = 0;
	var linha;
	$("#totalNegociacao").attr('value', '0,00');
		
	loadToComboBoxUrl("#bancoPagarCheque","bancoses","banco");	
    
	$('#valorSomatorio').attr('value', '0,00');
	$('#valorRestante').attr('value', '0,00');
	//datepickers
	datePicker("dataRegistro");

	$("#tipoPagamento").change(function(event){
		$("#valorRestante").attr('value', float2moeda(parseFloat($("#totalNegociacaoPagar").val().replace(',','.')) - parseFloat($("#valorSomatorio").val().replace(',','.'))));
		$("#valorRestante").attr('value', $("#valorRestante").val().replace('.',','));
		if(this.value == 'Dinheiro'){
			//alert('dinheiro');
			$('#pagamentoDinheiro').css('display', 'block');
			$('#pagamentoCartao').css('display', 'none');
			$('#pagamentoCheque').css('display', 'none');
			$('#valorMovimentacaoDinheiro').attr('value', $("#valorRestante").val());
		}else if(this.value == 'Cartao'){
			//alert('cartao');
			$('#pagamentoDinheiro').css('display', 'none');
			$('#pagamentoCartao').css('display', 'block');
			$('#pagamentoCheque').css('display', 'none');
			$('#valorMovimentacaoCartao').attr('value', $("#valorRestante").val());
		}else if(this.value == 'Cheque'){
			//alert('cheque');
			$('#pagamentoDinheiro').css('display', 'none');
			$('#pagamentoCartao').css('display', 'none');
			$('#pagamentoCheque').css('display', 'block');
			$('#valorMovimentacaoCheque').attr('value', $("#valorRestante").val());
		}else if(this.value == 'nulo'){
			$('#pagamentoDinheiro').css('display', 'none');
			$('#pagamentoCartao').css('display', 'none');
			$('#pagamentoCheque').css('display', 'none');
		}
	});		

//	//lançamentos
	var id = "itensDataGrid";
	var itensAoColumns = [
	                        	{"sTitle": "Descrição", "mDataProp": "historico.historico", "sWidth": "180px", "bVisible": true, "sDefaultContent":""},
	                        	{"sTitle": "vencimento", "mDataProp": "dataVencimento", "sWidth": "80px", "bVisible": true, "sDefaultContent":""},
	                        	{"sTitle": "Situacao", "mDataProp": "situacaoLancamento", "sWidth": "60px", "bVisible": false, "sDefaultContent":""},
								{"sTitle": "Valor", "mDataProp": "valorPago", "sWidth": "40px", "bVisible": true, "sDefaultContent":""},
								{"sTitle": " ", "mDataProp": "htmlControl","bSortable": false, "bVisible": true, "sWidth": "30px","sDefaultContent":"", 
                 				   "fnRender": function ( oObj ) {	                 						
                 					  return  "<button type=\"button\" id=\"deletarBtn_"+oObj.aData.id+"\"   class=\"deletarBtn"+id+"\" onclick=\"deletarDaTelaCallBack(event,'"+id+"', reLoadItens);\">Deletar</button>";
	                 				}
	                 			}
						 ];
	oneToMany(id, JSON.stringify(itensAoColumns, function(key, val) {if (typeof val === 'function') { return val + '';} return val;}));
	
	//recebimentos
	var id = "recebimentosDataGrid";
	var recebimentosAoColumns = [
                                        	{"sTitle": "Descrição", "mDataProp": "tipoPagamento", "sWidth": "180px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Valor", "mDataProp": "valorMovimentacao", "sWidth": "40px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": " ", "mDataProp": "htmlControl","bSortable": false, "bVisible": true, "sWidth": "30px","sDefaultContent":"", 
			                 				   "fnRender": function ( oObj ) {	                 						
			                 					  return  "<button type=\"button\" id=\"deletarBtn_"+oObj.aData.id+"\"   class=\"deletarBtn"+id+"\" onclick=\"deletarDaTelaCallBack(event,'"+id+"', reloadLancamentos);\">Deletar</button>";
				                 				}
				                 			}
										];
	oneToMany(id, JSON.stringify(recebimentosAoColumns, function(key, val) {if (typeof val === 'function') { return val + '';} return val;}));
	
	$("#btnAtualizaDesconto").button({ icons: { primary: "ui-icon ui-icon-star"},text: true});
	
	loadItens();
    
});	



function reLoadItens(){
	var aTrsD = $('#itensDataGrid').dataTable().fnSettings().aoData;
	var retorno = new Array();
	$("#totalNegociacao").attr('value', '0,00');
	//$("#totalNegociacao").attr('value', 0);
  	for ( var i=0 ; i< aTrsD.length ; i++ )
  	{
  		retorno.push(aTrsD[i]._aData);
  		$("#totalNegociacao").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())+parseFloat(retorno[i].valorBase)));
  		retorno[i].valorPago = float2moeda(retorno[i].valorBase);
  		//$("#somatoriaRecebimento").attr('value', $("#totalNegociacao").val());
  	}
	$("#valorBase").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())));
  	$("#totalNegociacaoPagar").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())));
  	$("#itensDataGrid").dataTable().fnClearTable();
	$("#itensDataGrid").dataTable().fnAddData(retorno);
	$("#valorRestante").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())));
}

function reloadLancamentos(){
	 aTrsD = $('#recebimentosDataGrid').dataTable().fnSettings().aoData;
	 retorno = new Array();
	var total = 0;
	for ( var i = 0; i < aTrsD.length; i++) {
		retorno.push(aTrsD[i]._aData);
		total += parseFloat(retorno[i].valorMovimentacao);
	}
	$("#valorSomatorio").attr('value', float2moeda(total));
	$("#valorRestante").attr('value', float2moeda(parseFloat($("#totalNegociacaoPagar").val().replace(',','.')) - parseFloat($("#valorSomatorio").val().replace(',','.'))));

}

function incluirLancamentos(){
	var total = 0;
	var dadosCheque = null;
	var banco = null;
	if(moeda2float($("#valorSomatorio").val()) < moeda2float($('#totalNegociacaoPagar').val())){		
		if($('#tipoPagamento').val() == 'Dinheiro'){
			total = $('#valorMovimentacaoDinheiro').val();
			$('#valorMovimentacaoDinheiro').attr('value', '');
		}else if($('#tipoPagamento').val() == 'Cartao'){
			total = $('#valorMovimentacaoCartao').val();
			$('#valorMovimentacaoCartao').attr('value', '');
		}else if($('#tipoPagamento').val() == 'Cheque'){
			total = $('#valorMovimentacaoCheque').val();
			$('#valorMovimentacaoCheque').attr('value', '');
			banco = $('#bancoPagarCheque').get(0).dataSource;
			dadosCheque = {
					'banco'         : banco[0],
					'agencia'       : $('#agenciaPagarCheque').val(),
					'contaCorrente' : $('#contaPagarCheque').val(),
					'valor'         : parseFloat(total)
			};
			$('#bancoPagarCheque option[value=]').attr('selected', 'selected');
			$('#agenciaPagarCheque').attr('value', '');
			$('#contaPagarCheque').attr('value', '');
		}
	
		linha = {
	             'tipoPagamento' : $('#tipoPagamento').val(),
	         'valorMovimentacao' : float2moeda(parseFloat(total)),
	                    'cheque' : dadosCheque
	        };
		//avaliação para saber se pode incluir.
		if(avaliaPagamento(total)){
		 	$("#recebimentosDataGrid").dataTable().fnAddData(linha);
		}	
		
		//fechando a opção.
		$('#tipoPagamento option[value=nulo]').attr('selected', 'selected');
		$('#pagamentoDinheiro').css('display', 'none');
		$('#pagamentoCartao').css('display', 'none');
		$('#pagamentoCheque').css('display', 'none');
		
	}else{
		alert('Desculpe mas este lançamento estrapola o valor a receber.');
		$('#pagamentoDinheiro').css('display', 'none');
		$('#pagamentoCartao').css('display', 'none');
		$('#pagamentoCheque').css('display', 'none');
		$('#valorMovimentacaoDinheiro').attr('value', $("#valorRestante").val());
		$('#valorMovimentacaoCartao').attr('value', $("#valorRestante").val());
		$('#valorMovimentacaoCheque').attr('value', $("#valorRestante").val());
		$("#tipoPagamento").attr("value", "nulo");
	}
}

function avaliaPagamento(valor){
	$("#valorSomatorio").attr('value', float2moeda(parseFloat($("#valorSomatorio").val().replace(',','.')) + parseFloat(valor.replace(',','.'))));
	$("#valorRestante").attr('value', float2moeda(parseFloat($("#totalNegociacaoPagar").val().replace(',','.')) - parseFloat($("#valorSomatorio").val().replace(',','.'))));
	return true;
}

function loadItens(){
	var aTrsD = $('#lancamentosDataGrid').dataTable().fnSettings().aoData;
	var retorno = new Array();
	$("#totalNegociacao").attr('value', '0,00');
	//$("#totalNegociacao").attr('value', 0);
  	for ( var i=0 ; i< aTrsD.length ; i++ )
  	{
  		retorno.push(aTrsD[i]._aData);
  		$("#totalNegociacao").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())+parseFloat(retorno[i].valorBase)));
  		retorno[i].valorPago = float2moeda(parseFloat(retorno[i].valorBase));
  		//$("#somatoriaRecebimento").attr('value', $("#totalNegociacao").val());
  	}
	$("#valorBase").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())));
  	$("#totalNegociacaoPagar").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())));
  	$("#itensDataGrid").dataTable().fnClearTable();
	$("#itensDataGrid").dataTable().fnAddData(retorno);
	$("#valorRestante").attr('value', float2moeda(parseFloat($("#totalNegociacao").val())));
}
//
////melhora de performace.
function carregaDados(event, idDataGrid){
	var clickedTr = $(event.target).parent("td").parent("tr").get(0);
	var aTrs = $('#'+idDataGrid).dataTable().fnSettings().aoData;
	var objetoSelecionado;
	for(var i=0; i < aTrs.length; i++){
		if(aTrs[i].nTr==clickedTr){
			objetoSelecionado = aTrs[i]._aData;
			$('#dadoAlterado').attr('value', objetoSelecionado.id);
			$('#valorDesconto').attr('value', float2moeda(objetoSelecionado.desconto));
			$('#valorBase').attr('value', float2moeda(objetoSelecionado.valorBase));
			$('#valorPagar').attr('value', float2moeda((parseFloat(objetoSelecionado.valorBase) - parseFloat(objetoSelecionado.desconto))));
			i = aTrs.length;
		}
	}
}

function imprimirDesconto(){
	var total = parseFloat($('#valorBase').val()) - parseFloat($('#descontoReais').val());
	$('#totalNegociacaoPagar').attr('value', float2moeda(parseFloat(total)));
	$("#valorRestante").attr('value', float2moeda(parseFloat(total)));
}

function salvaPagamento(){
	registro = $("#pagamento").formParams(false);
	delete registro.tipoPagamento;
	delete registro.valorMovimentacaoDinheiro;
	delete registro.valorMovimentacaoCartao;
	delete registro.bancoPagarCheque;
	delete registro.agenciaPagarCheque;
	delete registro.contaPagarCheque;
	delete registro.valorMovimentacaoCheque;
	delete registro.dadoAlterado;
	delete registro.valorBase;
	registro.negociacaoLancamentosAlunos = serializarDataGrid("itensDataGrid");
	registro.negociacaoMovimentacaoCaixas = serializarDataGrid("recebimentosDataGrid");
	registro.valorSomatorio = moeda2float(registro.valorSomatorio);
	registro.valorRestante = moeda2float(registro.valorRestante);
	registro.totalNegociacao = moeda2float(registro.totalNegociacao);
	registro.descontoReais = moeda2float(registro.descontoReais);
	registro.totalNegociacaoPagar = moeda2float(registro.totalNegociacaoPagar); 
	var movimentos = registro.negociacaoMovimentacaoCaixas;
	for(var i in movimentos){
		movimentos[i].valorMovimentacao = moeda2float(movimentos[i].valorMovimentacao);
	}
	var lancamentos = registro.negociacaoLancamentosAlunos;
	for(var i in lancamentos){
		lancamentos[i].valorPago = moeda2float(lancamentos[i].valorPago);
	}
	registro.negociacaoMovimentacaoCaixas = movimentos;
	registro.negociacaoLancamentosAlunos = lancamentos;
	salvarReturn("pagamento", "negociacoeses", registro, reiniciaRecebimento);		
}

function reiniciaRecebimento(data){
//	alert(data.id);
	//preparando variaveis para impressão do comprovante
//	var lancamentosBaixados = new Array();
//	var recebimentoLancados = new Array();
//	var totalNegociacao = $("#totalNegociacao").val();
//	var descontoReais = $("#descontoReais").val();
//	var valorSomatorio = $("#valorSomatorio").val();
	
	//inserir if para ver se foi impresso.
	
	
	
	//
	
	$("#lancamentosDataGrid").dataTable().fnClearTable();
	$("#itensDataGrid").dataTable().fnClearTable();
	$("#recebimentosDataGrid").dataTable().fnClearTable();

	divObj = $('#pagamentoAluno');
	divObj.html("");
	divObj.dialog("close");
	divObj.remove();
	
}
